
        <html>
			<head>
			     <title>分享信息安全工作小记 - 健宇</title>
				 <meta http-equiv="content-type" content="text/html; charset=UTF-8">
			</head>
			<body>
				<h1>原文地址:<a href="http://drops.wooyun.org/tips/2945">http://drops.wooyun.org/tips/2945</a></h1>
				
      <p>
        <h2>0x01 工作背景：</h2>

<hr />

<p>1、 某厅级部门政府站点被篡改</p>

<p>2、 上级主管部门安全通告</p>

<p>3、 配合该部门查明原因限期整改</p>

<h2>0x02 工作记录：</h2>

<hr />

<p><strong>1、 信息收集</strong></p>

<p>A、首先到机房了解了一下拓扑图，大概就是：互联网-防火墙-web应用防火墙-防篡改-DMZ服务器区；</p>

<p>B、然后了解了一下web应用程序架构，大概就是：3台服务器里面1台跑iis中间件1台跑sqlserver2008数据库，站库分离，服务器性能比较好，1台syslog服务器接收日志；</p>

<!--more-->

<p>C、网站属于.net开发，之前加固过：</p>

<p>a、后台限制IP访问，</p>

<p>b、FCKEDITOR上传目录禁止执行，</p>

<p>c、sqlserver数据库降低权限使用network service并且关闭cmdshell等高危组件。</p>

<p><strong>2、 访谈管理员</strong></p>

<p>A、与管理员沟通得知某个HTML页面被黑客篡改了一些不好的内容，查看数据库日志以及数据库中记录的网站操作记录分析判断不属于后台管理员修改；</p>

<p>B、查看web应用防火墙日志的时候发现并未记录任何日志，访谈得知机房防火墙坏掉了，就变动了一下线路，所有请求web服务器的用户都不会经过web应用防火墙，相当于就是个摆设；</p>

<p>C、FCKEDITOR编辑器任意上传漏洞早在2013年就已经存在，当时开发商没有历史源代码无法升级采用web应用防火墙+IIS限制执行权限方法；</p>

<p>D、2013年湖南省金盾信息安全测评中心的信息安全等级保护测评报告提出的整改建议甲方不知道如何整改就没有整改到位。</p>

<p><strong>3、 情况分析</strong></p>

<p>在初步了解完情况以后，对web目录进行可疑文件筛选：</p>

<p><img src="http://static.wooyun.org/20140905/2014090507400812485.png" alt="enter image description here" /></p>

<p>（黑客所放置的后门程序，文件修改时间被伪装）</p>

<p><img src="http://static.wooyun.org/20140905/2014090507400840508.png" alt="enter image description here" /></p>

<p>（webshell内容，变异的一句话）</p>

<p><img src="http://static.wooyun.org/20140905/2014090507400819329.png" alt="enter image description here" /></p>

<p>（通过FCKEDITOR编辑器上传的一句话木马文件初步判断为2014年6月30日黑客攻击）</p>

<p>初步判断为FCKEDITOR编辑器被黑客利用了，接下来对iis 36GB日志进行压缩打包：</p>

<p><img src="http://static.wooyun.org/20140905/2014090507400974901.png" alt="enter image description here" /></p>

<p>（成功打包网站日志）</p>

<p><img src="http://static.wooyun.org/20140905/2014090507400987717.png" alt="enter image description here" /></p>

<p>（以webshell路径做为筛选条件初步快速从33GB日志文件内找出所有可疑IP地址以及时间）</p>

<p><img src="http://static.wooyun.org/20140905/2014090507400926260.png" alt="enter image description here" /></p>

<p>入侵手段分析：最终分析得知最早黑客攻击利用 Common/UpLoadFile.aspx文件上传了ASPX木马文件在common/201406/20140619183500432547.aspx，</p>

<p>此上传功能并未调用FCKEDITOR编辑器，之前加固限制FCKEDITOR编辑器上传文件执行权限成功阻止了黑客利用该漏洞</p>

<p><img src="http://static.wooyun.org/20140905/2014090507400956173.png" alt="enter image description here" /></p>

<p>黑客通过 /common/201406/20140619183500432547.aspx文件写入了/userspace/enterprisespace/MasterPages.aspx一句话木马文件，</p>

<p>后续相继写入了之前扫描出的可疑ASPX文件，成功固定了黑客入侵手段、时间、IP地址、综合分析在服务器的操作记录，由于综合分析操作记录部分涉及到该单位隐私信息不便公开</p>

<p><strong>4、 反向渗透取证定位</strong></p>

<p>在对3个月内日志仔细分析发现几个可疑的重庆和广东5个IP地址中113.<em>.</em>.173并未攻击成功，其他4个IP地址为1人或者1个团伙所使用IP地址：</p>

<p><img src="http://static.wooyun.org/20140905/2014090507400941568.png" alt="enter image description here" /></p>

<p>（黑客利用FCKEDITOR编辑器漏洞成功建立了a.asp文件夹尝试利用IIS解析漏洞，但是由于IIS中进行过安全配置以及IIS7.5已经修补该解析漏洞入侵并未成功，故忽略）</p>

<p>对剩余的4个IP地址仔细分析发现61.<em>.</em>.181属于一个黑客使用的windows服务器：</p>

<p><img src="http://static.wooyun.org/20140905/2014090507400917065.png" alt="enter image description here" /></p>

<p><img src="http://static.wooyun.org/20140905/2014090507401031640.png" alt="enter image description here" /></p>

<p>（对该服务器进行收集得知操作系统为windows2003，浏览器ie8.0，绑定域名www.**dns.cn）</p>

<p>接下来对该服务器进行渗透测试，目的拿下其服务器获取黑客使用该服务器做跳板的日志以及黑客的真实IP地址，对其进行端口扫描结果：</p>

<pre><code>PORT      STATE    SERVICE         VERSION
80/tcp    open     http            Microsoft IIS httpd 6.0
808/tcp   open     http            Microsoft IIS httpd 6.0
1025/tcp  open     msrpc           Microsoft Windows RPC（可以openvas或者nessus远程获取一些RPC信息）
1026/tcp  open     msrpc           Microsoft Windows RPC（可以openvas或者nessus远程获取一些RPC信息）
1311/tcp  open     ssl/http        Dell PowerEdge OpenManage Server Administrato
r httpd admin(通过HTTPS协议访问后了解到计算机名称为EASYN-9D76400CB ，服务器型号PowerEdge R610)
1723/tcp  open     pptp            Microsoft (黑客用做跳板开放的PPTP VPN服务器)
3029/tcp  open     unknown
8888/tcp  open     sun-answerbook?
10000/tcp open     ms-wbt-server   Microsoft Terminal Service（远程桌面服务，进行分析判断时发现存在黑客安装的shift后门）
</code></pre>

<p><img src="http://static.wooyun.org/20140905/2014090507401024231.png" alt="enter image description here" /></p>

<p>（黑客的shift后门真逗，竟然不使用灰色按钮，伪装失败，肉眼直接识别是后门）</p>

<p>接下来确定渗透思路为：</p>

<p>A、使用漏洞扫描设备扫描主机漏洞以及每个端口存在的弱口令；</p>

<p>B、对shift后门有着多年爆菊花经验，进行类似于xss盲打，用鼠标点击每个角落或者同时按住ctrl+alt+shift来点击，最后尝试每个按键以及常用组合键；</p>

<p>C、通过1311端口的HTTPS可以对windows管理员进行暴力破解；</p>

<p>D、从80端口绑定的站点进行web渗透。</p>

<p>运气还不错，找到一个显错注入点直接sa权限：</p>

<p><img src="http://static.wooyun.org/20140905/2014090507401084796.png" alt="enter image description here" /></p>

<p>（SQL2008显错注入成功）</p>

<p><img src="http://static.wooyun.org/20140905/2014090507401078550.png" alt="enter image description here" /></p>

<p>（测试SA可以执行cmdshell，但是权限为网络服务，无法直接添加命令，还需要提权）</p>

<p>思考后觉得数据库与网站都属于network service，应该可以通过数据库写文件到网站根目录，然后连接菜刀提权进入服务器：</p>

<p><img src="http://static.wooyun.org/20140905/2014090507401027040.png" alt="enter image description here" /></p>

<p>（通过显错得知了网站根目录，然后利用echo命令写入shell成功）</p>

<p><img src="http://static.wooyun.org/20140905/2014090507401090593.png" alt="enter image description here" /></p>

<p>（webshell连接成功，运气真好！）</p>

<p><img src="http://static.wooyun.org/20140905/2014090507401195334.png" alt="enter image description here" /></p>

<p>（从web.config文件中找到明文数据库sa超级管理员用户密码）</p>

<p><img src="http://static.wooyun.org/20140905/2014090507401141861.png" alt="enter image description here" /></p>

<p>（iis6提权成功）</p>

<p><img src="http://static.wooyun.org/20140905/2014090507401194735.png" alt="enter image description here" /></p>

<p>（明文管理员密码读取成功）</p>

<p><img src="http://static.wooyun.org/20140905/2014090507401115026.png" alt="enter image description here" /></p>

<p>（进入服务器分析杀毒软件历史日志，得知黑客入侵手法）</p>

<p><img src="http://static.wooyun.org/20140905/2014090507401222851.png" alt="enter image description here" /></p>

<p>（查看VPN配置信息取出日志，顺便了解到该服务器220天没有重启了，真牛。。。）</p>

<p><img src="http://static.wooyun.org/20140905/2014090507401246318.png" alt="enter image description here" /></p>

<p>（提取出存在于系统中的shift后门）</p>

<p>继续向下分析，黑客是否种植远程控制木马或者其他rootkit：</p>

<p><img src="http://static.wooyun.org/20140905/2014090507401252878.png" alt="enter image description here" /></p>

<p>（系统服务中发现异常服务项为远程控制木马，爆破1组准备）</p>

<p><img src="http://static.wooyun.org/20140905/2014090507401315058.png" alt="enter image description here" /></p>

<p>（小样，默认还设置了注册表不允许administrators组无权限）</p>

<p><img src="http://static.wooyun.org/20140905/2014090507401381524.png" alt="enter image description here" /></p>

<p>（定位到木马的DLL，提取并固定到入侵证据中）</p>

<p><img src="http://static.wooyun.org/20140905/2014090507401387517.png" alt="enter image description here" /></p>

<p>（黑客惯用手法，伪装与正常ASPX程序相关文件名，修改文件时间，就连webshell代码都是那么几个一模一样的） 后续还发现黑客添加成功asp.net用户，但是没有种植驱动级后门，当前也并未发现其他后门。综合系统日志、IIS日志、webshell、逆向分析shift后门以及远程控制木马结果、数据库日志、防火墙日志等判断出黑客是重庆的XXX，这里就不提这些了。</p>

<p>以上内容仅供技术交流参考，欢迎大家与我互相交流，同时请关注长沙雨人网安的专业安全团队。</p>      </p>
    
			</body>
		</html>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          